/**
 * @ClassName LayerModel
 * @Description 图层加载模型
 * @Author xuyizhuo
 * @Date 2023/11/16 22:13
 */
export default abstract class LayerModel<T> {
    /**
     * 加载图层
     * @returns {LayerModel<T>}
     */
    abstract add(): LayerModel<T>

    /**
     * 删除图层
     * @returns {LayerModel<T>}
     */
    abstract remove(): LayerModel<T>

    /**
     * 设置图层的可见性
     * @param {boolean} visible
     * @returns {LayerModel<T>}
     */
    abstract setVisible(visible: boolean): LayerModel<T>

    /**
     * 飞行定位到图层
     * @returns {LayerModel<T>}
     */
    abstract flyTo(): LayerModel<T>
}
